// 存用户信息的 pinia
import { defineStore } from 'pinia'

export const useUserStore = defineStore<'user', IUserState, { permissions: () => string[] }, { logout: () => void }>('user', {
  state() {
    return {
      name: '李狗蛋',
      menus: []
    }
  },
  actions: {
    logout() {
      this.name = ''
      this.menus = [];
      // 后面还有数据要清空
    }
  },
  getters: {
    permissions() {
      // 把每个按钮对应的权限放到一个数组里面，数组里面就是 name 属性，name 属性其实就是 单词
      return this.menus.map(item => item.name);
    }
  }
})